home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Skunkware 5
/
Skunkware 5.iso
/
src
/
Tools
/
mh-6.8.3
/
READ-ME
< prev
next >
Wrap
Text File
|
1995-07-08
|
50KB
|
1,453 lines
MH-GEN(8) MAINTENANCE COMMANDS MH-GEN(8)
NAME
mh-gen - generating the MH system
READ THIS
This documentation describes how to configure, generate, and
install the UCI version of the RAND _M_H system. Be certain
to read this document completely before you begin. You
probably will also want to familiarize yourself with the _M_H
Administrator's Guide before you install _M_H. A copy can be
found in the file doc/ADMIN.doc is the _M_H sources.
DISCLAIMER
Although the _M_H system was originally developed by the RAND
Corporation, and is now in the public domain, the RAND Cor-
poration assumes no responsibility for _M_H or this particular
modification of _M_H.
In addition, the Regents of the University of California
issue the following disclaimer in regard to the UCI version
of _M_H:
"Although each program has been tested by its contribu-
tor, no warranty, express or implied, is made by the
contributor or the University of California, as to the
accuracy and functioning of the program and related
program material, nor shall the fact of distribution
constitute any such warranty, and no responsibility is
assumed by the contributor or the University of Cali-
fornia in connection herewith."
This version of _M_H is in the public domain, and as such,
there are no real restrictions on its use. The _M_H source
code and documentation have no licensing restrictions what-
soever. As a courtesy, the authors ask only that you pro-
vide appropriate credit to the RAND Corporation and the
University of California for having developed the software.
GETTING HELP
_M_H is a software package that is neither supported by the
RAND Corporation nor the University of California. However,
since we do use the software ourselves and plan to continue
using (and improving) _M_H, bug reports and their associated
fixes should be reported back to us so that we may include
them in future releases. The current computer mailbox for
_M_H is Bug-MH@ICS.UCI.EDU (in the ARPA Internet), and
...!ucbvax!ucivax!bug-mh (UUCP).
Presently, there are two Internet discussion groups,
MH-Users@ICS.UCI.EDU and MH-Workers@ICS.UCI.EDU. MH-Workers
is for people discussing code changes to _M_H. MH-Users is
for general discussion about how to use _M_H. MH-Users is
bi-directionally gatewayed into USENET as comp.mail.mh.
[mh.6] Last change: MH.6.8.2 1
MH-GEN(8) MAINTENANCE COMMANDS MH-GEN(8)
HOW TO GET MH
Since you probably already have _M_H, you may not need to read
this unless you suspect you have an old version. There are
two ways to get the latest release:
1. If you can FTP to the ARPA Internet, use anonymous FTP
to ftp.ics.uci.edu [128.195.1.1] and retrieve the file
pub/mh/mh-6.8.tar.Z. This is a tar image after being run
through the compress program (approximately 1.8MB). There
should also be a README file in that directory which tells
what the current release of _M_H is, and how to get updates.
This tar file is also available on louie.udel.edu
[128.175.1.3] in portal/mh-6.8.tar.Z. You may also find MH
on various other hosts; to make sure you get the latest ver-
sion and don't waste your time re-fixing bugs, it's best to
get it from either ftp.ics.uci.edu or louie.udel.edu.
2. You can send $75 US to the address below. This covers
the cost of a 6250 BPI 9-track magtape, handling, and ship-
ping. In addition, you'll get a laser-printed hard-copy of
the entire MH documentation set. Be sure to include your
USPS address with your check. Checks must be drawn on U.S.
funds and should be made payable to:
Regents of the University of California
The distribution address is:
Univeristy of California at Irvine
Office of Academic Computing
360 Computer Science
Irvine, CA 92717 USA
+1 714 856 5153
Sadly, if you just want the hard-copies of the documenta-
tion, you still have to pay the $75. The tar image has the
documentation source (the manual is in roff format, but the
rest are in TeX format). Postscript formatted versions of
the TeX papers are available, as are crude tty-conversions
of those papers.
SYNOPSIS
MAKE
DESCRIPTION
This is a description of how one can bring up an _M_H system.
It is assumed that you have super-user privileges in order
to (re-)install _M_H. Super-user privileges are not required
to configure or generate _M_H.
[mh.6] Last change: MH.6.8.2 2
MH-GEN(8) MAINTENANCE COMMANDS MH-GEN(8)
Become the super-user and cd to /usr/src/local/ (or whatever
you keep your local sources). The distribution tape con-
tains the hierarchy for the mh.6-8/ directory. Bring the
sources on-line:
# cd /usr/src/local
% tar xv
% cd mh-6.8
CONFIGURATION
First, go to the conf/ directory.
% cd conf/
This directory contains files that will produce source files
tailored for your choice of _M_H configuration. You should
edit only the file MH. This file contains configuration
directives. These configuration directives are read by the
_m_h_c_o_n_f_i_g program to produce customized files.
For examples of various configurations, look in the direc-
tory conf/examples/. The file MH provided in conf/ is a
reasonable default. Lines beginning with `#' are comments,
and are not otherwise interpreted.
Here are the _M_H configuration directives available. Be sure
to read through this list completely before attempting to
decide what directives are appropriate for your system.
More information on some of these options is available in
the the _A_d_m_i_n_i_s_t_r_a_t_o_r'_s _G_u_i_d_e. If you do not have a printed
copy, you should configure your system with the default con-
figuration file, MH, then generate and print a copy of the
guide (as described below).
Installation paths
bin: /usr/local
The directory where user-invoked programs go (see
manual section 1).
etc: /usr/local/lib/mh
The directory where pgm-invoked programs go (see manual
section 8).
mail: /usr/spool/mail
The directory where the maildrops are stored. If this
pathname is absolute (i.e., begins with a / ), then the
user's maildrop is a file called $USER in this direc-
tory. If the pathname is not absolute, then the user's
maildrop is in the user's home directory under the
given name.
[mh.6] Last change: MH.6.8.2 3
MH-GEN(8) MAINTENANCE COMMANDS MH-GEN(8)
mandir: /usr/man
The parent directory of the manual entries.
manuals: standard
Where manual entries should be installed, relative to
the directory given with "mandir". Either "local" to
install manual entries under manl/, or "new" to install
manual entries under mann/, or "old" to install manual
entries under mano/, or "standard" to install manual
entries under man?/, or "bsd44" to install manual
entries as man?/_p_a_g_e.0, or "gen" to generate but not
install them, or "none" to neither generate nor install
them.
Any of these values may have the suffix "/cat" appended
to it. In that case, the manual entries will be for-
matted with "nroff -man" and they will be installed in
the corresponding "cat?" directories.
For example, to install manual entries under
/usr/man/u_man/man?, use "standard" and /usr/man/u_man
for "mandir". To install formatted manual entires
under /usr/contrib/man/cat?, use "standard/cat" and
/usr/contrib/man for "mandir". To install formatted
manual entries using the BSD44 convention, use
"bsd44/cat".
chown: /etc/chown
The location of the _c_h_o_w_n(8) on your system. If _c_h_o_w_n
is in your search path, just use the value of "chown".
On SYS5 systems, this should probably be "/bin/chown".
cp: cp
The command to copy files when installing, if not "cp".
(Some sites use "cp -p".)
ln: ln
The command to link files together in the source tree,
if not "ln". If you're using something like lndir to
keep your compile tree separate from your source tree,
set this to "ln -s" or "cp".
remove: mv -f
How _M_H should make backup copies of existing files when
installing new files. To simply remove the old files,
use "rm -f".
Compiler/loader
cc: cc
The name of your C compiler, if not "cc".
ccoptions: -O
[mh.6] Last change: MH.6.8.2 4
MH-GEN(8) MAINTENANCE COMMANDS MH-GEN(8)
Options given directly to _c_c(1). The most common is
"-M" if you're running _M_H on an ALTOS. This defaults
to "-O". If you define this and want to keep "-O", be
sure to include it explicitly. If you're using the _G_N_U
C compiler, it should include `-traditional'. See
"options:" for `-D' options.
curses: -lcurses -ltermlib
This should be the loader option required to load the
_t_e_r_m_c_a_p(3) and _c_u_r_s_e_s(3) libraries on your system. On
SYS5 systems, it probably should be just "-lcurses".
Some sites have reported that both "-lcurses" and
"-ltermlib" are necessary.
ldoptions: -s
Options given directly to _l_d(1) (via _c_c) at the begin-
ning of the command line. Useful for machines which
require arguments to tell _l_d to increase the stack
space (e.g. the Gould, which uses "-m 8"). Usually,
"-s" is a good choice in any event.
ldoptlibs:
Options given directly to _l_d(1) (via _c_c) at the end of
the command line. The two most common are: "-ldbm" if
you're running MMDF with the _d_b_m package; and, "-lndir"
if you are generating _M_H on a system which does not
load the new directory access mechanism by default
(e.g., 4.1BSD, SYS5). If you don't have _l_i_b_n_d_i_r on
your system, the sources are in miscellany/libndir/.
lex: lex -nt
Alternative version of _l_e_x. Used in zotnet/tws/.
oldload: off
This controls how _M_H will try to process library object
files to eliminate local symbols. Support for the
ALTOS loader if "on". Support for loaders not handling
`-x -r' correctly if "none".
ranlib: on
Support for systems with _r_a_n_l_i_b(1). For SYSTEM 5 sys-
tems, this should be "off" which tells _M_H to use _l_o_r_d_e_r
and _t_s_o_r_t instead. Some SYSTEM 5 sites reported that
running this isn't always sufficient. If this is the
case, then you should edit conf/makefiles/uip to
include ../sbr/libmh.a and ../zotnet/libzot.a twice in
the LIBES variable.
Message Transport System
mts: sendmail
Which message transport system to use. Either "mmdf"
to use _M_M_D_F as the transport system, "mmdf2" to use
[mh.6] Last change: MH.6.8.2 5
MH-GEN(8) MAINTENANCE COMMANDS MH-GEN(8)
_M_M_D_F-_I_I as the transport system, "sendmail" to have
_S_e_n_d_M_a_i_l as the transport system, "zmailer" to have
_Z_M_A_I_L_E_R as the transport system, or, "mh" to have _M_H as
the transport system.
On UNIX systems supporting TCP/IP networking via sock-
ets you can add the suffix "/smtp" to the mts setting.
This often yields a superior interface as _M_H will post
mail with the local _S_M_T_P server instead of interacting
directly with _M_M_D_F or _S_e_n_d_M_a_i_l. Hence, for TCP/IP UNIX
systems, the "/smtp" suffix to either "sendmail" or
"mmdf2" is the preferred MTS configuration. The
"/smtp" suffix is described in detail in the
_A_d_m_i_n_i_s_t_r_a_t_o_r'_s _G_u_i_d_e; be sure to set "servers:" as
described in _m_h-_t_a_i_l_o_r(8) if you use this option.
mf: off
Support for mail filtering on those systems in which
the message transport system isn't integrated with _U_U_C_P
This option is strictly for an _M_H system using either
_M_M_D_F-_I as its transport system or one using
"stand-alone delivery".
UCI BBoards Facility
bboards: off
If "on", include support for the UCI BBoards facility.
BBoards may be enabled with any mts setting. If "off",
the BBoard reading program _b_b_c will not be installed.
If "nntp", include support for the UCI BBoards facility
to read the Network News via the NNTP. If "pop" (form-
erly "popbboards: on"), include support for the UCI
BBoards facility via the POP3 service; this setting
requires "pop: on".
bbdelivery: off
If "off", the BBoards delivery agent and library files
will not be installed. If "on", and you set "bboards:"
to something besides "off", then the BBoards delivery
agent and library files will be installed in the _b_b_h_o_m_e
directory (see below). To read remote BBoards, the
usual configuration would have _b_b_c talk to a _P_O_P_3 or
_N_N_T_P server. However, it may be useful to set this to
"off" if you NFS mount the _b_b_h_o_m_e directory from
another host and want to use _b_b_c to read those files
directly.
bbhome: /usr/spool/bboards
The home directory for the BBoards user.
[mh.6] Last change: MH.6.8.2 6
MH-GEN(8) MAINTENANCE COMMANDS MH-GEN(8)
Post Office Protocol
pop: off
Support for POP service. This allows local delivery
for non-local users (a major win). See
support/pop/pop.rfc for more information on the POP.
This option currently works only on UNIX systems with
TCP/IP sockets. (It doesn't hurt to enable this option
regardless of whether or not you intend to use POP.)
See also "bboards: pop" to enable reading bboards with
the POP.
popdir: /usr/etc
The directory where the POP daemon (popd) will be
installed.
options:
`-D' options to _c_c(1).
APOP='"/etc/pop.auth"'
This option indicates that the POP daemon will sup-
port the non-standard APOP command, and specifies the
name of APOP authorization database. The APOP com-
mand provides a challenge-based authentication system
using the MD5 message digest algorithm. This facil-
ity is documented in _T_h_e _I_n_t_e_r_n_e_t _M_e_s_s_a_g_e (ISBN
0-13-092941-7), a book by Marshall T. Rose.
This option also causes the popauth program to be
installed, which allows the administrator to manipu-
late the APOP authorization database. For more
details, see support/pop/pop-more.txt and the
_A_d_m_i_n_i_s_t_r_a_t_o_r'_s _G_u_i_d_e.
DPOP
This option indicates that POP subscribers do not
have entries in the _p_a_s_s_w_d(5) file, and instead have
their own separate database (a win).
KPOP
Support for KERBEROS with POP. This code builds
_p_o_p_d, _i_n_c and _m_s_g_c_h_k to support only the "kpop" pro-
tocol. This code is still experimental, but is
available for those sites wishing to test it.
MPOP
This option indicates that the POP daemon will sup-
port the non-standard XTND SCAN command which pro-
vides performance enhancements when using the POP
over low-speed connections. This option also causes
an interactive POP client program, popi, to be com-
piled and installed. A man page for the popi program
is also provided.
[mh.6] Last change: MH.6.8.2 7
MH-GEN(8) MAINTENANCE COMMANDS MH-GEN(8)
These extensions are described in _T_h_e _I_n_t_e_r_n_e_t _M_e_s_-
_s_a_g_e, a book by Marshall T. Rose. For more details,
see support/pop/pop-more.txt. Note: this option
requires "bboards: pop".
POP2
Have the POP daemon understand the older POP2 proto-
col as well as the _M_H POP3 protocol - a major win.
The POP daemon auto-magically determines which POP
protocol your client is using. If you're enabling
POP service, there's no reason not to enable this
option as well. See also _P_O_P_S_E_R_V_I_C_E.
POPSERVICE
The port name the _M_H POP will use. For historical
reasons, this defaults to "pop".
In 1987, the _M_H POP protocol (POP version 3) was pub-
lished as RFC1081 and was assigned its own port
number (110), which differs from the original POP
(version 1 and 2) port number (109).
To have _M_H POP use the new assigned port number, set
POPSERVICE='"pop3"', and be sure that this service
name is listed in your /etc/services file on both POP
client and server hosts as "110/tcp". If you enable
_P_O_P_2, you can safely leave _P_O_P_S_E_R_V_I_C_E undefined
unless you are using POP3 clients besides _M_H.
RPOP
This option indicates that support for the UNIX vari-
ant of POP, RPOP, which uses privileged sockets for
authentication be enabled. This peacefully co-exists
with the standard POP.
SHADOW
Indicates that the popd POP server can find encrypted
passwords in the /etc/shadow file (and not in the
/etc/passwd file). It should be used only for some
(newer) SYSTEM 5 systems.
The "APOP" and "MPOP" non-standard POP facilities are
documented in _T_h_e _I_n_t_e_r_n_e_t _M_e_s_s_a_g_e (ISBN 0-13-092941-7),
a book by Marshall T. Rose. For more details, see
support/pop/pop-more.txt. The "APOP" option peacefully
co-exists with the standard POP. The "MPOP" option
requires "bboards: pop".
Shared libraries
sharedlib: off
If "sun4", makes libmh.a into a SunOS 4.0 (and later)
shared library. If you enable this, be sure to also use
[mh.6] Last change: MH.6.8.2 8
MH-GEN(8) MAINTENANCE COMMANDS MH-GEN(8)
"options SUN40". If "sys5", makes libmh.a into a SYS5
R4 (and later) shared library. If you enable this, be
sure to also use "options SVR4".
slflags: -pic
The compiler flags to produce position independent code.
slibdir: /usr/local/lib
The directory where the _M_H shared library should go.
Under SunOS (sun4)
Since some _M_H programs are setuid, they'll only look for
the library in "trusted" locations. Putting the library
somewhere besides /usr/lib or /usr/local/lib is not
advisable.
If you must do this, be sure that you add the path given
by slibdir to the compiler's library search list (e.g.,
"ldoptions: -L/usr/mh/lib") and make sure the path
starts with a leading `/'.
You may need to run _l_d_c_o_n_f_i_g(8) manually whenever a new
shared object is installed on the system. See _l_d(1) for
more information about using shared libraries.
Under Solaris 2.0 (and newer)
The above instructions for SunOS apply, except you
should set the run-time library search path using `-R'
instead of `-L' (e.g., "ldoptions: -R/usr/mh/lib").
General System Dependencies
You should include the following directives which are
appropriate for your version of UNIX. If you don't know what
an option does, it probably doesn't apply to you.
mailgroup: off
If set, _i_n_c is made set-group-id to this group name.
Some SYS5 systems want this to be set to "mail". Set
this if your /usr/spool/mail is not world-writeable.
Note that slocal doesn't know how to deal with this, and
will not work under these systems; just making it set-
group-id will open a security hole. If you're using
"mailgroup", you should remove slocal (and its man page)
from your system.
signal: int
The base type (int or void) of the function
parameter/return value of _s_i_g_n_a_l(2). The default is
int. Set "signal void" on systems which use this type
(e.g., SYSTEM 5 V3.0 and later or Sun OS 4.0 and later).
[mh.6] Last change: MH.6.8.2 9
MH-GEN(8) MAINTENANCE COMMANDS MH-GEN(8)
sprintf: char *
The return value of the _s_p_r_i_n_t_f library routine. This
defaults to "char *". Set this to "int" if you have an
older version of SYSTEM 5 which has this routine return
an "int" type.
options:
`-D' options to _c_c(1).
ALTOS
Use on XENIX/v7 systems. Also, be sure to use
"options V7".
ATTVIBUG
This option causes _M_H to return to the "What now?"
prompt if your initial editor is vi and it exits with
non-zero status. Use on Sun OS 4.1 and other systems
where the /usr/ucb/vi editor was changed to exit with
its status equal to the number of pseudo-"errors"
encountered during the edit. This causes a problem
for programs that test the exit status of their editor
and abort if the status is non-zero. (This includes
_M_H and programs like /usr/etc/vipw).
AUX
Use with AUX systems.
BIND
If you are running with the BIND code on UNIX systems
with TCP/IP sockets (e.g. 4.{2,3}BSD), be sure to
define this.
BSD41A
Use on 4.1a Berkeley UNIX systems.
BSD42
Use on Berkeley UNIX systems on or after 4.2BSD.
BSD43
Use on 4.3 Berkeley UNIX systems. Also, be sure to
use "options BSD42". If _o_p_e_n_l_o_g(3) (see "man 3 sys-
log") takes three arguments instead of two, and your
_w_r_i_t_e(1) command is set-group-id to group "tty", use
this option. If only one of these conditions is true,
you lose.
BSD44
Use on Berkeley UNIX systems on or after 4.4BSD.
Also, be sure to use "options BSD43" and "options
BSD42".
DBMPWD
[mh.6] Last change: MH.6.8.2 10
MH-GEN(8) MAINTENANCE COMMANDS MH-GEN(8)
Use this option if your _g_e_t_p_w_e_n_t(3) routines read a
dbm database (such as with Yellow Pages) instead of
doing a sequential read of /etc/passwd. Without
DBMPWD the entire passwd file is read into memory one
entry at a time for alias expansion. This is a per-
formance improvement when reading a standard
/etc/passwd file, but is _v_e_r_y slow on systems with a
dbm database. At one site that runs YP on a large
passwd file, it showed a 6:1 performance improvement.
GCOS_HACK
The so-called "gcos" field of the password file is
used as a last resort to find the user's full name
(see _m_h-_p_r_o_f_i_l_e(5) for details). Enable this option
if your _p_a_s_s_w_d(5) man page notes that the `&' charac-
ter in the "gcos" field stands for the login name.
FCNTL
Directs _M_H to use the fcntl() system call for kernel-
level locking. If you're using a SYS5 system, you may
want this option. (See also `FLOCK' and `LOCKF').
FLOCK
Directs _M_H to use the flock() system call for kernel-
level locking. If you're on a BSD42 system, and
you're not using NFS to read or write maildrops, you
should enable this option. (See also `FCNTL' and
`LOCKF').
HESIOD
Support for HESIOD. This code was contributed, and
included no documentation.
LOCKF
Directs _M_H to use the lockf() system call for kernel-
level locking. If you're using NFS to read or write
maildrops, you should enable this option. (See also
`FLOCK' and `FCNTL').
locname
Hard-wires the local name for the host _M_H is running
on. For example, locname='"PICKLE"'. It's probably
better to either let UNIX tell _M_H this information, or
to put the information in the host specific mtstailor
file.
MORE
Defines the location of the _m_o_r_e(1) program. On
ALTOS and DUAL systems, set MORE='"/usr/bin/more"'.
The default is "/usr/ucb/more".
NDIR
[mh.6] Last change: MH.6.8.2 11
MH-GEN(8) MAINTENANCE COMMANDS MH-GEN(8)
For non-Berkeley UNIX systems, this _M_H will try to
find the new directory access mechanism by looking in
<ndir.h> if this option is given. Otherwise, _M_H will
try <dir.h>. If you still can't get this to work on
your system, edit h/local.h as appropriate. (See also
`SYS5DIR'.)
NFS
Tells _M_H to hack around a problem in the NFS C
library. If you get an undefined symbol "ruserpass"
when compiling _M_H, you probably need this option. If,
however, you include this option and get an undefined
symbol "__ruserpass" when compiling, then you should
omit this option. (See also `NORUSERPASS'.)
NOIOCTLH
Tells _M_H not to include the file <sys/ioctl.h>. To be
used on systems where this file is not present.
NORUSERPASS
Tells _M_H that your system doesn't have the _r_u_s_e_r_-
_p_a_s_s(3) routine; _M_H will include its own copy of this
routine in its library. (See also `NFS'.)
NTOHLSWAP
Tells _M_H to use the ntohl() macro when processing _m_s_h
binary map files. _M_H can use this macro on systems
with the include file netinet/in.h, to byte-swap the
binary information in these map files. If you're
using the same map files on machines of different
architectures, enable this option.
RENAME
Include this option if your system has a rename()
library call. This is true on BSD42 and newer and
some SYS5 systems.
SENDMAILBUG
Causes SMTP reply code 451 (failure) to be considered
the same as code 250 (OK). Since this might cause
problems, only enable this if you are certain that
your SendMail will return this code even when it
doesn't mean to indicate a failure.
SOCKETS
Indicates the availability of a socket interface for
TCP/IP networking that is compatible with 4.{2,3}BSD
UNIX. It is not necessary to define this when BSD42
is already defined, but it might be useful for SYSTEM
5 or HPUX systems with TCP/IP sockets.
SUN40
[mh.6] Last change: MH.6.8.2 12
MH-GEN(8) MAINTENANCE COMMANDS MH-GEN(8)
Use on Sun OS 4.0 (and later?) systems. You also will
need "options BSD42", "options BSD43", and "signal
void".
If you're using Sun's brain-damaged approach to offer-
ing Domain Name Service through NIS, be sure to
include "options BIND" and "ldoptions -lresolv" to
work around some NIS/DNS bugs.
SYS5
Use on AT&T SYSTEM 5 R3 (and newer?) UNIX systems.
See also _m_a_i_l_g_r_o_u_p.
SYS5DIR
Define this if your system uses "struct dirent"
instead of "struct direct". This is true of System V
Release 3.0 and later. Uses include file <dirent.h>
and the routines _m_k_d_i_r, _r_m_d_i_r and _g_e_t_c_w_d.
SVR4
Use on AT&T SYSTEM 5 R4 (and newer?) UNIX systems. You
should also include "options SYS5" and "options
SYS5DIR". See also _m_a_i_l_g_r_o_u_p. You will also need to
include "oldload none" if your ld doesn't handle
`-x -r' correctly.
TERMINFO
Define TERMINFO if you have it. You get it automati-
cally if you're running SYS5, and you don't get it if
you're not. (If you're not SYS5, you probably have
termcap.)
TZNAME
Use time zone names from the _t_z_n_a_m_e variable, set via
_t_z_s_e_t. Only applicable on SYSTEM 5 systems and only
effective when you have asked for alpha-timezones (see
the ATZ option). See also ZONEINFO.
UNISTD
Include this option if your system has the file
<unistd.h>. If not specified, the LOCKF option will
include <sys/fcntl.h>.
V7
Use on V7 UNIX systems. Also, be sure to use "options
void=int".
VSPRINTF
Include this option if your system has the _v_s_p_r_i_n_t_f(3)
library routine; otherwise, __d_o_p_r_n_t(3) will be used.
WAITINT
[mh.6] Last change: MH.6.8.2 13
MH-GEN(8) MAINTENANCE COMMANDS MH-GEN(8)
BSD42 based systems call the _w_a_i_t(2) system routine
with a pointer to type _u_n_i_o_n _w_a_i_t. Include this
option if you included "options BSD42", but your sys-
tem calls the _w_a_i_t(2) system routine with a pointer to
type _i_n_t (the non-BSD42 default).
ZONEINFO
Specify this if you have a BSD43 based system that
keeps time zone information /etc/zoneinfo or
/usr/lib/zoneinfo (SunOS), and where the _s_t_r_u_c_t _t_m
returned by _l_o_c_a_l_t_i_m_e(3) contains a _t_m__g_m_t_o_f_f element
(see /usr/include/time.h). With this fix the GMT
offset specified in outgoing mail will be corrected
when the TZ enviornment variable is set to a different
time zone. See also TZNAME.
Site Preferences
These options change the default behavior of _M_H or enable
optional features. Add the options which are appropriate for
your configuration or your site preferences.
editor: prompter
The default editor for _M_H.
options:
`-D' options to _c_c(1).
ATZ
Directs _M_H to use alpha-timezones whenever possible.
You should not use this option if you are on the Inter-
net, since it will make your host non-compliant with
RFC-1123 (Requirements for Internet Hosts).
ATHENA
Makes _r_e_p_l `-nocc all' the default instead of
`-cc all'. You may want to enable this if you're using
_x_m_h.
BANG
Directs _M_H to favor `!' over `@' in addressing.
BERK
Optional for for 4.{2,3}BSD sites running SendMail.
Disables nearly all of the RFC822 address and header-
parsing routines in favor of recognizing such formats
as ASCnet, and so on. If you don't need to disable the
parser for this reason, you probably want to use
"options DUMB" instead.
COMPAT
If you previously ran a version of _M_H earlier than mh.4
use this option. After a short grace period, remove it
[mh.6] Last change: MH.6.8.2 14
MH-GEN(8) MAINTENANCE COMMANDS MH-GEN(8)
and re-{configure,generate,install} everything.
DUMB
Directs _M_H not to try and rewrite addresses to their
"official" form.
FOLDPROT
Defines the octal value for default folder-protection.
For example, FOLDPROT='"0700"'. The default is "0711".
ISI
When using "repl -ccme", only "cc:" the first address
found which belongs to the user; any other _A_l_t_e_r_n_a_t_e-
_M_a_i_l_b_o_x_e_s do not receive "cc:"s.
LINK
Defines the filename for alternate file name for _d_i_s_t
and _r_e_p_l. For example, LINK='"\\043"' to use the
pound-sign character. The default is "@".
MHE
Enables crude support for Brien Reid's MHE interface.
Recommended for use with the GNU Emacs mh-e package.
MHRC
Enables _M_H to recognize the _C_S_h_e_l_l's `~'-construct.
This is useful for sites that run with a ~/.mhrc for
their users.
MIME
Enables support for multi-media messages, as specified
in RFC 1341 -- a major win. This allows you to include
things like audio, graphics, and the like, in your mail
messages. Several _M_H commands are extended to support
these multi-media messages, and the _m_h_n command is pro-
vided to encode and decode MIME messages. For more
details, see miscellany/multi-media/READ-ME and _m_h_n(1).
MSGID
Enables slocal to detect and surpress duplicate mes-
sages received. This code uses the <ndbm.h> library,
and requires "options BSD42" since it uses the _f_l_o_c_k(2)
system call for locking. (Note that this means its
database locking does not work over NFS.) It has only
been tested under SUN40.
MSGPROT
Defines the octal value for default folder-protection.
For example, MSGPROT='"0600"'. The default is "0644".
NOMHSEQ
Directs _M_H to make private sequences the default.
[mh.6] Last change: MH.6.8.2 15
MH-GEN(8) MAINTENANCE COMMANDS MH-GEN(8)
OVERHEAD
Enable _M_H commands to read profile/context from open
fd:s without doing an open(); see _m_h-_p_r_o_f_i_l_e(5) for the
details.
RPATHS
Directs _i_n_c to note UNIX "From " lines as Return-Path:
info.
SBACKUP
Defines the prefix string for backup file names. For
example, SBACKUP='"\\043"'. The default is ",".
TMA
Support for the TTI _t_r_u_s_t_e_d _m_a_i_l _a_g_e_n_t (TMA). Although
the TTI TMA is not in the public domain, the _M_H support
for the TTI TMA is in the public domain. You should
enable this option only if you are licensed to run the
TMA software (otherwise, you don't have the software in
your _M_H source tree).
TTYD
Support for TTYD. This is no longer in wide use, and
is not recommended.
UCI
First, "_" and "#" are recognized as the prefixes for
scratch files. Second, support for the UCI
group-leadership mechanism is enabled in _c_o_n_f_l_i_c_t.
Third, the first line of the file file $HOME/.signature
is used as the _F_u_l_l _N_a_m_e part of your "From:" header.
This may conflict with the interpretation of this file
by _N_e_w_s. If you're not at UCI, you probably don't want
this option.
UK
Directs the _s_c_a_n program to generate UK-style dates by
default.
WHATNOW
Enable certain _M_H commands to act differently when
$mhdraft set.
YEARMOD
This option makes the _m_h-_f_o_r_m_a_t %(year) function always
return a value less than 100. Enable this option if
you have local _m_h-_f_o_r_m_a_t(5) files which cannot handle
4-digit years. You should convert these files to use a
4-character field width, or use the %(modulo 100) func-
tion to obtain a 2-digit year value. After a short
grace period, remove `YEARMOD' and re-
{configure,generate,install} everything.
[mh.6] Last change: MH.6.8.2 16
MH-GEN(8) MAINTENANCE COMMANDS MH-GEN(8)
Testing/debugging
debug: off
Support for debug mode of _M_H. Don't use this unless you
know what you're doing, which isn't likely if you're read-
ing this document!
regtest: off
Set this to "on" if you are doing regression testing among
different compilations of _M_H, and you do not want the
hostname and compile date included in _M_H binaries.
Now edit conf/config/mtstailor, depending on your choice of
the setting for mts in the _M_H configuration file. for an
mts setting of "mh", look at the file conf/tailor/mhmts; for
an mts setting of "sendmail", "sendmail/smtp", "mmdf/smtp",
or "mmdf2/smtp", look at the file conf/tailor/sendmts; and,
for an mts setting of "mmdf", or "mmdf2", look at the file
conf/tailor/mmdf.
Now install the configured files into the source areas. (On
SYS5 systems, or other systems where you get complaints
about "_index" and "_rindex" being undefined, you should use
"make sys5" to compile mhconfig.)
% make
% ./mhconfig MH
Before proceeding, you should familiarize yourself with the
_A_d_m_i_n_i_s_t_r_a_t_o_r'_s _G_u_i_d_e. To generate an _n_r_o_f_f version, go to
the doc/ directory and type:
% (cd ../doc/; make ADMIN.doc)
If you're already running _M_H at your site, you should also
read the _m_h changes document CHANGES. The source is in
papers/changes/.
After reading the _A_d_m_i_n_i_s_t_r_a_t_o_r'_s _G_u_i_d_e, you may decide to
change your MH configuration. If so, cd back to the conf/
directory, re-edit the files MH and conf/config/mtstailor,
and re-run _m_h_c_o_n_f_i_g.
You now proceed based on your choice of a transport system
(the setting for mts above). The best interface is achieved
with "sendmail" followed by "mmdf" or ("mmdf2"), and then
"mh" (stand-alone delivery, not recommended).
SENDMAIL
If you have not enabled BBoards or POP then no further
[mh.6] Last change: MH.6.8.2 17
MH-GEN(8) MAINTENANCE COMMANDS MH-GEN(8)
MTS-specific action is required on your part!
If you have enabled POP, but you want to let _S_e_n_d_M_a_i_l
deliver mail POP mail using its standard delivery program
/bin/mail, then, again, no further MTS-specific action is
required on your part!
Otherwise, go to the mts/sendmail/ directory.
% cd ../mts/sendmail/
This directory contains files whose definitions correspond
to the configuration of your _S_e_n_d_M_a_i_l system. If you have
enabled BBoards or POP service, then you will need to
re-configure _S_e_n_d_M_a_i_l. First, in the "local info" section
of your site's _S_e_n_d_M_a_i_l configuration file, choose a free
macro/class (B is used in this distribution), and add these
lines:
# BBoards support
DBbboards
CBbboards
Second, immediately after the inclusion of the zerobase
file, in the "machine dependent part of ruleset zero" sec-
tion, add these lines:
# resolve names for the BBoards system
R$+<@$=B> $#bboards$@$2$:$1 topic@bboards
Be sure to use tabs when separating these fields. Third,
add the line
include(bboardsMH.m4)
after the line
include(localm.m4)
in your site's _S_e_n_d_M_a_i_l configuration file. Finally, you
should link the file mts/sendmail/bboardsMH.m4 into your
_S_e_n_d_M_a_i_l cf/ directory and re-configure _S_e_n_d_M_a_i_l.
If you have enabled POP service, a similar procedure must be
used on the POP service host, to re-configure _S_e_n_d_M_a_i_l.
First, in the "local info" section of your site's _S_e_n_d_M_a_i_l
configuration file, choose a free macro/class (P is used in
this distribution), and add these lines:
# POP support
DPpop
CPpop
[mh.6] Last change: MH.6.8.2 18
MH-GEN(8) MAINTENANCE COMMANDS MH-GEN(8)
Second, immediately after the inclusion of the zerobase
file, in the "machine dependent part of ruleset zero" sec-
tion, add these lines:
# resolve names for the POP system
R$+<@$=P> $#pop$@$2$:$1 subscriber@pop
Be sure to use tabs when separating these fields. Third,
add the line
include(popMH.m4)
after the line
include(localm.m4)
in your site's _S_e_n_d_M_a_i_l configuration file. Finally, you
should link the file mts/sendmail/popMH.m4 into your _S_e_n_d_-
_M_a_i_l cf/ directory and re-configure _S_e_n_d_M_a_i_l.
MMDF
If you want _M_M_D_F to be your transport service, and have NOT
specified "mmdf/smtp" (or "mmdf2/smtp") as your mts setting,
then go to the mmdf/ directory. (If you're using
"mmdf/smtp" or "mmdf2/smtp" as your mts setting, then skip
to the next section.)
% cd ../mts/mmdf/
This directory contains files whose definitions correspond
to the configuration of your _M_M_D_F system.
If you're running _M_M_D_F-_I, then copy the following files from
wherever you keep the _M_M_D_F sources to this directory:
mmdf/h/ch.h, mmdf/h/conf.h, utildir/conf_util.h,
utildir/ll_log.h, mmdf/h/mmdf.h, utildir/util.h,
mmdf/mmdf_lib.a, and utildir/util_lib.a.
If you're running _M_M_D_F-_I_I, then copy the following files
from where you keep the _M_M_D_F sources to this directory:
h/ch.h, h/conf.h, h/dm.h, h/ll_log.h, h/mmdf.h, h/util.h,
and lib/libmmdf.a
If you have enabled bboards, then the directories
support/bboards/mmdfI and support/bboards/mmdfII contain
information you'll need to put a UCI BBoards channel in your
_M_M_D_F configuration. Similarly, if you have enabled option
"mf" and are running _M_M_D_F-_I, then the zotnet/mf/mmdfI/
directory contains information you'll need to put a _U_U_C_P
channel in your _M_M_D_F-_I configuration. Finally, the direc-
tory support/pop/mmdfII contains information you'll need to
put a POP channel in your _M_M_D_F-_I_I configuration.
[mh.6] Last change: MH.6.8.2 19
MH-GEN(8) MAINTENANCE COMMANDS MH-GEN(8)
Note that _M_M_D_F-_I_I is distributed with the BBoards channel,
although the version in the _M_H distribution might be more
current, the version in the _M_M_D_F-_I_I distribution has been
tested with that revision of _M_M_D_F.
MMDF/SMTP
If you are using "mmdf/smtp" as your mts setting, then no
further MTS-specific action is required on your part!
MMDF2/SMTP
If you are using "mmdf2/smtp" as your mts setting, then no
further MTS-specific action is required on your part!
STAND-ALONE DELIVERY
If, instead, you want _M_H to handle its own mail delivery,
then no further MTS-specific action is required on your
part!
GENERATION
Go to the _M_H top-level directory and generate the system.
% cd ../; make
This will cause a complete generation of the _M_H system. If
all goes well, proceed with installation. If not, complain,
as there "should be no problems" at this step.
INSTALLATION
If the directories you chose for the user-programs,
support-programs and manuals ("bin", "etc", "popdir", "slib-
dir", and "mandir" in the conf/MH file) don't exist, you
should create them at this point.
Next, if you enabled support for the UCI BBoards facility,
then create a login called "bboards" with the following
characteristics: home directory is /usr/spool/bboards/ with
mode 755 (actually, use the value for "bbhome" given in the
_M_H configuration file), login shell is /bin/csh (or
/bin/sh), and, encrypted password field is "*". The
"bboards" login should own the /usr/spool/bboards/ direc-
tory. In addition to creating /usr/spool/bboards/, also
create /usr/spool/bboards/etc/ and
/usr/spool/bboards/archive/. These directories should also
be owned by the "bboards" login.
If you enabled support for POP, then on the POP service
host, create a login called "pop" with the following charac-
teristics: home directory is /usr/spool/pop/ with mode 755,
login shell is /bin/csh, and, encrypted password field is
"*". If you don't have /bin/csh on your system (V7), then
/bin/sh is just fine. The "pop" login should own the
/usr/spool/pop/ directory. You'll also need to add a line
[mh.6] Last change: MH.6.8.2 20
MH-GEN(8) MAINTENANCE COMMANDS MH-GEN(8)
to the /etc/services file and the /etc/rc.local file, see
the _A_d_m_i_n_i_s_t_r_a_t_o_r'_s _G_u_i_d_e for more details.
If this is not the first time you have installed _M_H, these
files will need particular attention:
_D_i_r_e_c_t_o_r_y _F_i_l_e_s
"etc/" MailAliases, BBoardAliases, mtstailor
/usr/spool/bboards/ BBoards, .cshrc, .mh_profile
/usr/spool/bboards/etc/ *
The MailAliases, BBoardAliases, mtstailor and BBoards files
will NOT be installed over existing copies; you will need to
edit these by hand and merge in any changes from your previ-
ous _M_H release. The other files under /usr/spool/bboards/
will be overwritten if they exist. You may wish to preserve
your old versions of these before installing _M_H.
As the super-user, and from the mh.6/ directory, install the
system.
# make inst-all
This will cause the _M_H processes and files to be transferred
to the appropriate areas with the appropriate attributes.
TAILORING
See the _A_d_m_i_n_i_s_t_r_a_t_o_r'_s _G_u_i_d_e for information on tailoring
_M_H for the MTS, BBoards, and POP.
DOCUMENTATION
In addition to this document, the _A_d_m_i_n_i_s_t_r_a_t_o_r'_s _G_u_i_d_e, and
the _U_s_e_r'_s _M_a_n_u_a_l, there are several documents referenced by
the user's manual which may be useful. The sources for all
of these can be found under the papers/ directory.
OTHER THINGS
Consult the directory miscellany/ for the sources to a
number of things which aren't part of the mainstream _M_H dis-
tribution, but which are still quite useful.
FILES
Too numerous to mention. Really.
SEE ALSO
make(1)
BUGS
The _m_h_c_o_n_f_i_g program should be smarter.
There's no way to print the _A_d_m_i_n_i_s_t_r_a_t_o_r'_s _G_u_i_d_e until
after you have configured the system; it is difficult to
[mh.6] Last change: MH.6.8.2 21
MH-GEN(8) MAINTENANCE COMMANDS MH-GEN(8)
configure the system without the _A_d_m_i_n_i_s_t_r_a_t_o_r'_s _G_u_i_d_e.
The Makefiles should know when _m_h_c_o_n_f_i_g has been run and
force "make clean" behavior.
[mh.6] Last change: MH.6.8.2 22